<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:p="http://primefaces.org/ui" >

    <body>

        <ui:composition template="/templatePrincipal.xhtml">

           

           
            <ui:define name="content">
                <p:dataTable id="dataTable" styleClass="dataTable"  var="dt" value="#{alunoM.entidades}"  rows="25" paginator="true" 
                                 rowKey="#{dt}" selectionMode="multiple" selection="#{alunoM.entidadesSelecionadas}"
                                 emptyMessage="Não há registro para serem apresentados"
                                 rowsPerPageTemplate="10,25,50, 100"       
                                 paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"  

                                 >  

                        <f:facet name="header">  
                            <div align="right">
                                <p:commandButton  actionListener="#{alunoM.prepararAdicionarEntidade}" icon="ui-icon-disk"
                                                  value="Novo Registro" update=":formManutencaoDialog:display" onclick="modalmanutencao.show();"
                                                  styleClass="botaoAcao"    />   
                                 <p:commandButton   icon="ui-icon-disk"
                                                    value="Excluir Registros" update=":formConfirmExclusaoRegistros" 
                                                    onclick="confirmaExclusaoRegistros.show();"
                                                    styleClass="botaoAcao"    />   
                            </div>


                        </f:facet>  

                        <p:column headerText="Ações" >                                                          
                            <p:splitButton  icon="ui-icon-wrench">  
                                <p:menuitem value="Alterar Registro"  actionListener="#{alunoM.prepararAdicionarEntidade}"   icon="ui-icon-wrench" update=":formManutencaoDialog:display :formConteudo:dataTable"  oncomplete="modalmanutencao.show()" >
                                    <f:setPropertyActionListener target="#{alunoM.entidade}" value="#{dt}" />
                                </p:menuitem>
                                <p:menuitem value="Remover Registro"   icon="ui-icon-close" oncomplete="confirmaExclusao.show()"  update=":cascaConfirmExclusao :formConteudo:dataTable"   >
                                    <f:setPropertyActionListener target="#{alunoM.entidade}" value="#{dt}" />
                                </p:menuitem>
                                <p:separator />  
                                <p:menuitem value="Duplicar Registro"  actionListener="#{alunoM.prepararDuplicarEntidade}"   icon="ui-icon-copy" update=":formManutencaoDialog:display :formConteudo:dataTable"  oncomplete="modalmanutencao.show()"    >
                                    <f:setPropertyActionListener target="#{alunoM.entidade}" value="#{dt}"  />
                                </p:menuitem>   
                            </p:splitButton>  

                        </p:column>

                        <p:column sortBy="#{dt.id}" headerText="ID" filterBy="#{dt.id}"  >  
                            <h:outputText value="#{dt.id}" styleClass="teste" />  
                        </p:column>  

                        <p:column sortBy="#{dt.login}" headerText="Login" filterBy="#{dt.login}"  >  
                            <h:outputText value="#{dt.login}" styleClass="teste" />  
                        </p:column> 

                        <p:column sortBy="#{dt.nome}" headerText="Nome" filterBy="#{dt.nome}" >  
                            <h:outputText value="#{dt.nome}" />  
                        </p:column>  
                    
                      <p:column sortBy="#{dt.cpf}" headerText="CPF " filterBy="#{dt.cpf}" >  
                            <h:outputText value="#{dt.cpf}" />  
                        </p:column> 
                        <p:column sortBy="#{dt.enderecoRua}" headerText="Rua" filterBy="#{dt.enderecoRua}" >  
                            <h:outputText value="#{dt.enderecoRua}" />  
                        </p:column>  

                        <p:column sortBy="#{dt.enderecoNr}" headerText="Numero" filterBy="#{dt.enderecoNr}" >  
                            <h:outputText value="#{dt.enderecoNr}" />  
                        </p:column> 

                        <p:column sortBy="#{dt.enderecoCidade}" headerText="Cidade" filterBy="#{dt.enderecoCidade}" >  
                            <h:outputText value="#{dt.enderecoCidade}" />  
                        </p:column> 
                        <p:column sortBy="#{dt.enderecoEstado}" headerText="Estado" filterBy="#{dt.enderecoEstado}" >  
                            <h:outputText value="#{dt.enderecoEstado}" />  
                        </p:column> 

                        <p:column sortBy="#{dt.email}" headerText="E-mail" filterBy="#{dt.email}" >  
                            <h:outputText value="#{dt.email}" />  
                        </p:column> 

                    </p:dataTable> 
            </ui:define>

            <ui:define name="modais">
                <p:dialog id="manutencaoModalEntidade"  header="Editar Aluno" widgetVar="modalmanutencao" resizable="false" modal="true"   >  
            <h:form id="formManutencaoDialog" >
                <h:panelGrid id="display"   columns="2" styleClass="coluna100" cellpadding="4" columnClasses="coluna30, coluna70" >  

                    <p:outputLabel value="Id:" />  
                    <p:outputLabel value="#{alunoM.entidade.id}"   />  

                    <p:outputLabel value="Login:" for="login" />  
                    <p:inputText styleClass="campoInput"   value="#{alunoM.entidade.login}"  id="login"/>  

                    <p:outputLabel value="Nome:" for="nome" />  
                    <p:inputText styleClass="campoInput"   value="#{alunoM.entidade.nome}"  id="nome"/>  

                    <p:outputLabel value="Rua:" for="enderecoRua" />  
                    <p:inputText styleClass="campoInput"   value="#{alunoM.entidade.enderecoRua}"  id="enderecoRua"/>  
                    
                    <p:outputLabel value="CPF:" for="cpf" />  
                    <p:inputMask  mask="999.999.999-99"  styleClass="campoInput"   value="#{alunoM.entidade.cpf}"  id="cpf"/>  
                    
                    <p:outputLabel value="Numero:" for="enderecoNr" />  
                    <p:inputText styleClass="campoInput"   value="#{alunoM.entidade.enderecoNr}"  id="enderecoNr"/>  
                             
                    <p:outputLabel value="Cidade:" for="enderecoCidade" />  
                    <p:inputText styleClass="campoInput"   value="#{alunoM.entidade.enderecoCidade}"  id="enderecoCidade"/>  

                    <p:outputLabel value="Estado:" for="enderecoEstado" />  
                    <p:inputText styleClass="campoInput"   value="#{alunoM.entidade.enderecoEstado}"  id="enderecoEstado"/>  

                    <p:outputLabel value="E-mail" for="email" />  
                    <p:inputText styleClass="campoInput"   value="#{alunoM.entidade.email}"  id="email"/>  

                    <p:outputLabel value="Nova Senha" for="senha" />  
                    <p:password  feedback="true"  styleClass="campoInput"   value="#{alunoM.entidade.senha}"  id="senha"/>  

                    <p:commandButton styleClass="botao" icon="ui-icon-disk" actionListener="#{alunoM.salvaEntidade}" id="btnSalva" value="Salva" update=":formConteudo"  oncomplete="modalmanutencao.hide();"/>  

                </h:panelGrid>  
            </h:form>

        </p:dialog> 

        <h:panelGrid id="cascaConfirmExclusao">
            <p:confirmDialog id="confirmaDialogExclusao" message="Tem certeja que deseja excluir o registro  #{alunoM.entidade.nome} ?"
                             header="confirme" severity="alert" widgetVar="confirmaExclusao">
                <h:form id="formConfirmExclusao" >
                    <p:commandButton id="confirmaExclusao" value="sim" oncomplete="confirmaExclusao.hide()"  
                                     actionListener="#{alunoM.removerEntidade}" update=":formConteudo" />  
                    <p:commandButton id="cancelaExclusao" value="Cancelar" onclick="confirmaExclusao.hide();" type="button"  /> 
                </h:form>
            </p:confirmDialog> 

            <p:dialog id="confirmaDialogExclusaoRegistros"  modal="true"
                      header="confirme"  widgetVar="confirmaExclusaoRegistros">
                <h:form id="formConfirmExclusaoRegistros" >
                    <p:dataList value="#{alunoM.entidadesSelecionadas}" var="dtExclusao" id="listaEntidadesExclusao"  
                                paginator="true" rows="10"   type="none" >  
                        <h:outputText value="#{dtExclusao.id}" />
                        <h:outputText value="#{dtExclusao.nome}" />
                        <br /> 

                    </p:dataList>

                    <h:panelGrid columns="2" id="displayExcluir" >
                        <p:commandButton id="confirmaExclusaoRegistros" value="sim" 
                                         oncomplete="confirmaExclusaoRegistros.hide()"  
                                         actionListener="#{alunoM.removerEntidadesSelecionadas}" update=":formConteudo" />  
                        <p:commandButton id="cancelaExclusaoRegistros" value="Cancelar" 
                                         onclick="confirmaExclusaoRegistros.hide();"  />

                    </h:panelGrid> 
                </h:form>
            </p:dialog>

        </h:panelGrid>
            </ui:define>

        </ui:composition>

    </body>
</html>
